/**
 * Created by ss on 16/3/29.
 */
var log4js = require("log4js");
var fs = require("fs");

var objConfig = JSON.parse(fs.readFileSync("./log4js.json"));
var configure = {
	appenders: new Array()
};

var index = 1;
for(var i = 0 ; i < objConfig.appenders.length ; i++){
	var item = objConfig.appenders[i];
	if(item.type){
		configure.appenders[0] = item;
		continue;
	}
	var configureItem = Object.assign({}, objConfig.commonConfig.extendConfig, item);
	checkAndCreateDir(objConfig.commonConfig.extendConfig.filename + configureItem.pattern);
	configureItem.pattern = configureItem.pattern + objConfig.commonConfig.pattern;
	configure.appenders[index] = configureItem;
	index++;
}

configure.replaceConsole = true;

function checkAndCreateDir(dir){
	if(!fs.existsSync(dir)){
		fs.mkdirSync(dir);
	}
}

log4js.configure(configure);

var logInfo = log4js.getLogger('logInfo');
var logWarn = log4js.getLogger('logWarn');
var logErr = log4js.getLogger('logErr');
var logDebug = log4js.getLogger('logDebug');
var logger = log4js.getLogger();



module.exports = {
	info: function(msg){
		console.log(msg);
		logInfo.info(msg);
	},
	warn: function(msg){
		console.warn(msg);
		logWarn.warn(msg);
	},
	error: function (msg) {
		console.error(msg);
		logErr.error(msg);
	},
	debug: function(msg){
		console.trace(msg);
		logDebug.debug(msg);
	}
};
